将JavaSwing程序转换为Web应用部署到Tomcat |
您所在的位置:网站首页 › swing chrome › 将JavaSwing程序转换为Web应用部署到Tomcat |
webswing配置和部署
前言
Webswing是专用的Web服务器,用于在浏览器中运行基于Swing的Java应用程序。 多年来,Swing一直是许多公司和个人创建丰富应用程序的首选框架。他们全都投入了大量的金钱和精力来开发这些应用程序。但是如今,Swing框架已成为它们的限制因素,因为它们无法在现代Web浏览器中使用这些应用程序。随着Applet技术支持的停止,这些公司几乎没有选择余地,这是Webswing进行救援的地方。几乎不需要额外的工作,就可以像本地应用程序一样在浏览器中立即使用Swing应用程序或Applet。只需使用内置的管理Web界面进行简单配置即可 使用webSwing在官网(https://www.webswing.org/)下载最新版本压缩包,解压后进入webswing目录运行webswing.bat启动项目,访问localhost:8080/admin 进入控制台,默认账号密码是admin,pwd,运行webSwing需要安装Java环境,至少Java 8+(此教程基于20.1.6版本,新版本可能会有变化,如果操作不成功可参考官方文档) 我用swing写了一个简单的记事本功能效果如下 在管理控制台中,点击右上角的“Create New App”,输入应用程序访问路径,点击Create。 配置应用找到刚才创建的应用,单击右侧的Confing按钮,进入配置页面。 修改完成后点击Apply 点击上方/myapp蓝色链接或者地址栏输入localhost:8080/myapp访问应用 把Webswing文件夹复制到tomcat的bin目录下 复制webswing-server.war到Tomcat的webapps文件夹中 在tomcatconf/catalina.properties文件中添加以下属性。(或使用-DJVM选项指定这些属性) webswing.warLocation=webapps/webswing-server.war webswing.configFile=webswing/webswing.config webswing.tempDirBase=webswing/tmp webswing.rootDir=webswing如果使用https增加以下属性 Dwebswing.httpsOnly=true Dwebswing.cookieSameSite=NONE如果tomcat启动乱码 修改tomcat的conf下的logging.properties中的参数 java.util.logging.ConsoleHandler.encoding = GBK 解决webSwing跨域问题如果要将Webswing嵌入到其他域上的页面,则必须在应用程序配置的allowedCorsOrigins选项中启用跨域资源共享,设置*为允许所有域,或使用允许域列表。 修改文件 tomcat/bin下catalina.bat文件,添加以下配置。 set "JAVA_OPTS= -Dwebswing.httpsOnly=true -Dwebswing.cookieSameSite=NONE"进入谷歌浏览器配置页面 chrome://flags 搜索下面两个属性设置为 disable #same-site-by-default-cookies #cookies-without-same-site-must-be-secure 创建tomcat证书 这里使用JDK自带的keytool工具来生成证书 在jdk的安装目录\bin\keytool.exe下打开keytool.exe 命令行中输入以下命令: keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "D:\tomcat.keystore"配置tomcat服务器 定位到tomcat服务器的安装目录, 找到conf下的server.xml文件,添加配置。 配置说明Enabled : 服务器启动是否自动启动应用程序 Web Folder : 静态资源路径 Restricted Resources : 通过身份验证才能访问的目录 Localization Folder :国际化语言目录 Icon:图标路径 CORS Origins : 允许跨域请求url列表,设置 * 允许所有 Main Arguments : 接收Url参数(如有特殊字符需要URL转码) … 会话方式ALWAYS_NEW_SESSION,每个会话都会启用一个新的应用程序 CONTINUE_FOR_TAB 终止连接或用户刷新页面后,可以在同一个浏览器选项卡中恢复Webswing会话 CONTINUE_FOR_BROWSER 终止连接后,可以在同一浏览器中恢复Webswing会话 CONTINUE_FOR_USER 连接终止后,同一用户可以从任何计算机恢复应用程序会话 文件隔离系统打开文件隔离系统 Isolated Filesystem:ON 设置上传路径 Upload Folder :${user}/upload 设置完成后每个用户上传和下载都会生成单独的目录文件 解决打开文件乱码问题修改JVM启动参数 -Dfile.encoding=UTF-8 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |